Pay

The Pay action is the default action. The action is used to perform a single payment with a credit card.

This action does not have service-specific request variables. Advised is to use the basic parameter ClientIP so you have the option to block an IP-address if necessary in the future.

Base JSON request

πŸ“˜

Note

Use the base request as instructed on this page.

Parameters

Basic Parameters:

  • Find basic parameters here.

Pay Request

Parameters

Service-specific parameters
ParameterTypeRequiredRecommendedDescription
ClientIPStringNoYesThe IP address of the client. It's recommended to send this in the request so it is possible to block a user based on their IP.

Example request

{
  "Currency": "EUR",
  "AmountDebit": 10.00,
  "Invoice": "testinvoice 123",
  "ClientIP": {
      "Type": 0,
      "Address": "0.0.0.0"
   },
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "Pay"
      }
    ]
  }
}

Pay Response

Parameters

Example response

{
    "Key": "13FAF43579D94F5FB8119A6819XXXXXX",
    "Status": {
        "Code": {
            "Code": 790,
            "Description": "Pending input"
        },
        "SubCode": null,
        "DateTime": "2017-03-28T11:41:10"
    },
    "RequiredAction": {
        "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=AF51FAF1DECC422F936F06D565XXXXXX",
        "RequestedInformation": null,
        "PayRemainderDetails": null,
        "Name": "Redirect",
        "TypeDeprecated": 0
    },
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "testinvoice 123",
    "ServiceCode": null,
    "IsTest": true,
    "Currency": "EUR",
    "AmountDebit": 10,
    "TransactionType": null,
    "MutationType": 0,
    "RelatedTransactions": null,
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": null,
    "PayerHash": null,
    "PaymentKey": null
}

Pay Push

Parameters

Service-specific parameters
ParameterTypeRequiredRecommendedDescription
CardNumberEndingStringN/AN/ALast 4 digits of the credit card number.
EnrolledStringN/AN/AThe enrolled status.

Example push

{
  "Transaction": {
    "Key": "13FAF43579D94F5FB8119A6819XXXXXX",
    "Invoice": "testinvoice 123",
    "ServiceCode": "mastercard",
    "Status": {
      "Code": {
        "Code": 190,
        "Description": "Success"
      },
      "SubCode": {
        "Code": "S001",
        "Description": "Transaction successfully processed"
      },
      "DateTime": "2017-03-28T11:42:41"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountDebit": 10,
    "TransactionType": "V089",
    "Services": [
      {
        "Name": "mastercard",
        "Action": null,
        "Parameters": [
          {
            "Name": "CardNumberEnding",
            "Value": "0632"
          },
          {
            "Name": "CardExpirationDate",
            "Value": "2017-03"
          },
          {
            "Name": "MaskedCreditcardNumber",
            "Value": "513847******0632"
          },
          {
            "Name": "Enrolled",
            "Value": "Y"
          },
          {
            "Name": "Authentication",
            "Value": "Y"
          }
        ],
        "VersionAsProperty": 1
      }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 2,
    "RelatedTransactions": null,
    "IsCancelable": false,
    "IssuingCountry": "FR",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": "974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
    "PaymentKey": "8F813B002FDA4DF1A0314E2CFAXXXXXX"
  }
}

PayEncrypted

❗️

Important

Client-side encryption integrations are only supported when you are PCI SAQ-A EP compliant. More information can be found here: Self-Assessment Questionnaire A-EP and Attestation of Compliance.

For a regular Pay action, the consumer has to be redirected to our checkout to fill in their card data. With this action and our Client-Side Encryption SDK, we have introduced a way where this redirection is not necessary and you can ask for the consumer's card data on your webshop. All you have to do is encrypt the card data with our Client-Side Encryption SDK and call this action with the "EncryptedCardData" parameter. The value of this parameter is the result of the "encryptCardData" function in our CSE SDK.


PayEncrypted Request

Parameters

Service-specific parameters
ParameterTypeRequiredRecommendedDescription
EncryptedCardDataStringYesN/AThe value of this parameter is the result of the "encryptCardData" function of our Client-Side Encryption SDK.

Example request

{
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "Invoice": "PayEncryptedTest123",
  "Description": "PayEncrypted Test 123",
  "Services": {
    "ServiceList": [
      {
        "Name": "Mastercard",
        "Action": "PayEncrypted",
        "Version": 0,
        "Parameters": [
          {
            "Name": "EncryptedCardData",
            "GroupType": "",
            "GroupID": "",
            "Value": "001u8gJNwngKubFCO6FmJod6aESlIFATkKYaj47KlgBp7f3NeVxUzChg1Aug7WD2vc5wut2KU9NPLUaO0tFmzhVLZoDWn7dX4AzGxSjPrsPmDMWYcEkIwMZfcyJqoRfFkF3j15mil3muXxhR1a609NfkTo11J3ENVsvU3k60z+x0jCw6NjzbrweVQhBRkrbs7TBJkS4tR38JiDsXyH2E1JmRHE+o2P9qz4at6w3zggmwImvjt5IIjEr6g8KfsIDXfv7YjEzhJ3P+7uuGoyG2WYm/Pr0+iEmTj5Q/ijkxu1+cDqv5eiB+80KgffPItUZDrnv9sKlVBAr+f53nm1G+Sxp0Q=="
          }
        ]
      }
    ]
  }
}

PayEncrypted Response

The response is the same as the Pay response.

Parameters

Example response

{
  "Key": "051911FB5C0742FD8F5C1B93CFXXXXXX",
  "Status": {
    "Code": {
      "Code": 791,
      "Description": "Pending processing"
    },
    "SubCode": {
      "Code": "S002",
      "Description": "An additional action is required: RedirectToConsumerBank"
    },
    "DateTime": "2018-10-19T10:54:47"
  },
  "RequiredAction": {
    "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=5C927695D7EA4EBEB48CF34B65XXXXXX",
    "RequestedInformation": null,
    "PayRemainderDetails": null,
    "Name": "Redirect",
    "TypeDeprecated": 0
  },
  "Services": [
    {
      "Name": "mastercard",
      "Action": null,
      "Parameters": [
        {


          "Name": "CardNumberEnding",
          "Value": "0000"
        },
        {
          "Name": "CardExpirationDate",
          "Value": "2019-04"
        },
        {
          "Name": "MaskedCreditcardNumber",
          "Value": "538686******0000"
        },
        {
          "Name": "Enrolled",
          "Value": "Y"
        }
      ]
    }
  ],
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "PayEncryptedTest123",
  "ServiceCode": "mastercard",
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "TransactionType": "C089",
  "MutationType": 1,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": "FR",
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": "Automated Encryptietest",
  "PayerHash": "974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
  "PaymentKey": "7B595AFEEA77431EA3F6D46E54XXXXXX"
}

PayEncrypted Push

The push is almost the same as the Pay push, except for the ClientSideEncryptionVersion parameter.

Parameters

Service-specific parameters
ParameterTypeRequiredRecommendedDescription
ClientSideEncryptionVersionStringYesN/AThe Client-Side Encryption version that is used to encrypt the card data.

Example push

{
   "Transaction":{
      "Key":"051911FB5C0742FD8F5C1B93CFXXXXXX",
      "Invoice":"PayEncryptedTest123",
      "ServiceCode":null,
      "Status":{
         "Code":{
            "Code":190,
            "Description":"Success"
         },
         "SubCode":{
            "Code":"S990",
            "Description":"The request was successful."
         },
         "DateTime":"2018-10-20T05:15:06"
      },
      "IsTest":true,
      "Order":null,
      "Currency":"EUR",
      "AmountDebit":0.01,
      "TransactionType":"C089",
      "Services":[
         {
            "Name":"Mastercard",
            "Action":null,
            "Parameters":[
               {
                  "Name":"ClientSideEncryptionVersion",
                  "Value":"1"
               }
            ]
         },
         {
            "Name":"mastercard",
            "Action":null,
            "Parameters":[
               {
                  "Name":"CardNumberEnding",
                  "Value":"0000"
               },
               {
                  "Name":"CardExpirationDate",
                  "Value":"2019-04"
               },
               {
                  "Name":"MaskedCreditcardNumber",
                  "Value":"538686******0000"
               },
               {
                  "Name":"Enrolled",
                  "Value":"Y"
               }
            ],
            "VersionAsProperty":1
         }
      ],
      "CustomParameters":null,
      "AdditionalParameters":null,
      "MutationType":1,
      "RelatedTransactions":null,
      "IsCancelable":false,
      "IssuingCountry":"FR",
      "StartRecurrent":false,
      "Recurring":false,
      "CustomerName":"Automated Encryptietest",
      "PayerHash":"974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
      "PaymentKey":"7B595AFEEA77431EA3F6D46E54XXXXXX"
   }
}


PayWithSecurityCode

When you want your returning customers not to have to fill in all their card data again but still want to perform 3DS authentication, you can use this action. With this action and our Client-Side Encryption SDK, we have introduced a way where you only have to ask for the consumer's security code (CVC) on your webshop and send in the OriginalTransactionKey of the first transaction of this customer. All you have to do is encrypt the security code with our Client-Side Encryption SDK (for more info on our Client-Side Encryption SDK, click here) and call this action with the "EncryptedSecurityCode" parameter. The value of this parameter is the result of the "encryptSecurityCode" function in our CSE SDK.

PayWithSecurityCode Request

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
EncryptedSecurityCodeStringYesYesThe value of this parameter is the result of the "encryptSecurityCode" function of our Client-Side Encryption SDK.
OriginalTransactionKeyStringYesTransaction key of the initial transaction from where the card data should be copied. Note: This is a basic parameter, not a service-specific parameter.

Example Request

{
  "Invoice": "PayWithSecurityCodeTest",
  "Description": "PayWithSecurityCodeTest",
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "OriginalTransactionKey": "6C5DBB69E74644958F8C25199514DC6C",
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "PayWithSecurityCode",
        "Parameters": [
          {
            "Name": "EncryptedSecurityCode",
            "Value": "001F3AJT7wkJa04zE8c78P7spOAgHSKH1YKgPlOwXhW049VfIXMwZO32RYna9xZRyUCtfODIoCL8GRQoaZbStlBT4rbF5e4PPvWFSKdvua4rq+GQDNAghfa+ZQz0BzBPfjS0WBdFape9n3zH2vC/0m+wI3QZiDpYYgyWC1/Y3udJDU7JRTVMq/BDHGet+IZ2CDnkeGl813kkYymzYon/QeuQRQ0Wsec5bmVQNYGx62fz70/vLgs0ffff+6DtZtnZWfByRkTwMNebJotlOsSkbhVR5FrHpAbNPCJI+LvJcJL7Eoo+ZuX5/LWGmsT6qnR/uLiIw1DI7mTKGy6/P7IljAE+g=="
          }
        ]
      }
    ]
  }
}

PayWithSecurityCode Response

The response is the same as the Pay response.

Parameters

Example Response

{
    "Key": "FFCB3927675A4AD7912A5447E98F5F26",
    "Status": {
        "Code": {
            "Code": 791,
            "Description": "Pending processing"
        },
        "SubCode": {
            "Code": "S002",
            "Description": "An additional action is required: TestStatusRedirect"
        },
        "DateTime": "2020-03-23T16:19:18"
    },
    "RequiredAction": {
        "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=2EB891F035114226824BC56AFDB33B54",
        "RequestedInformation": null,
        "PayRemainderDetails": null,
        "Name": "Redirect",
        "TypeDeprecated": 0
    },
    "Services": [
        {
            "Name": "mastercard",
            "Action": null,
            "Parameters": [
                {
                    "Name": "CardNumberEnding",
                    "Value": "0000"
                },
                {
                    "Name": "CardExpirationDate",
                    "Value": "2023-01"
                },
                {
                    "Name": "MaskedCreditcardNumber",
                    "Value": "538686******0000"
                },
                {
                    "Name": "ThreeDsVersion",
                    "Value": "1.0.2"
                },
                {
                    "Name": "Enrolled",
                    "Value": "N"
                }
            ]
        }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "PayWithSecurityCodeTest",
    "ServiceCode": "mastercard",
    "IsTest": true,
    "Currency": "EUR",
    "AmountDebit": 0.01,
    "TransactionType": "C876",
    "MutationType": 1,
    "RelatedTransactions": [
        {
            "RelationType": "copied_card_data",
            "RelatedTransactionKey": "6C5DBB69E74644958F8C25199514DC6C"
        }
    ],
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": "NL",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "tes test",
    "PayerHash": "4dc3aefaa23fd5d23986186f0b4dc8d25549ac4957338054080928de4d1f76e14c7a1477571ffe1952bc9bb7b63f731930599ae93f0c0d544714b4023eecf8a0",
    "PaymentKey": "B2A282CE7C024F0F960EC54122840D12"
}

PayWithSecurityCode Push

The push is almost the same as the Pay push, except for the ClientSideEncryptionVersion parameter.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
ClientSideEncryptionVersionStringN/AN/AThe Client-Side Encryption version that is used to encrypt the security code.

Example Push

{
    "Transaction":{
        "Key":"FFCB3927675A4AD7912A5447E98F5F26",
        "Invoice":"PayWithSecurityCodeTest",
        "ServiceCode":"mastercard",
        "Status":{
            "Code":{
                "Code":190,
                "Description":"Success"
            },
            "SubCode":{
                "Code":"S990",
                "Description":"The request was successful."
            },
            "DateTime":"2020-03-23T16:21:37"
        },
        "IsTest":true,
        "Order":null,
        "Currency":"EUR",
        "AmountDebit":0.01,
        "TransactionType":"C876",
        "Services":[
            {
                "Name":"Mastercard",
                "Action":null,
                "Parameters":[
                    {
                        "Name":"ClientSideEncryptionVersion",
                        "Value":"1"
                    }
                ]
            },
            {
                "Name":"mastercard",
                "Action":null,
                "Parameters":[
                    {
                        "Name":"CardNumberEnding",
                        "Value":"0000"
                    },
                    {
                        "Name":"CardExpirationDate",
                        "Value":"2023-01"
                    },
                    {
                        "Name":"MaskedCreditcardNumber",
                        "Value":"538686******0000"
                    },
                    {
                        "Name":"ThreeDsVersion",
                        "Value":"1.0.2"
                    },
                    {
                        "Name":"Enrolled",
                        "Value":"N"
                    },
                    {
                        "Name":"Authentication",
                        "Value":"Y"
                    }
                ],
                "VersionAsProperty":1
            }
        ],
        "CustomParameters":null,
        "AdditionalParameters":null,
        "MutationType":1,
        "RelatedTransactions":[
            {
                "RelationType":"copied_card_data",
                "RelatedTransactionKey":"6C5DBB69E74644958F8C25199514DC6C"
            }
        ],
        "IsCancelable":false,
        "IssuingCountry":"NL",
        "StartRecurrent":false,
        "Recurring":false,
        "CustomerName":"tes test",
        "PayerHash":"4dc3aefaa23fd5d23986186f0b4dc8d25549ac4957338054080928de4d1f76e14c7a1477571ffe1952bc9bb7b63f731930599ae93f0c0d544714b4023eecf8a0",
        "PaymentKey":"B2A282CE7C024F0F960EC54122840D12"
    }
}


Refund

Refund Request

The Refund action can be used to perform a refund on an earlier credit card transaction. There is no customer interaction needed to do this.

Parameters

Service-Specific Parameters

ParameterTypeRequiredRecommendedDescription
OriginalTransactionKeyStringYesN/ATransaction key of the payment that needs to be refunded. Note: This is a basic parameter, not a service-specific parameter.

Example Request

{
  "Currency": "EUR",
  "AmountCredit": 1.00,
  "Invoice": "testinvoice 123",
  "OriginalTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX",
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "Refund"
      }
    ]
  }
}

Refund Response

Parameters

Example Response

{
    "Key": "7E1AD3268A4C49D496BEEFC300XXXXXX",
    "Status": {
        "Code": {
            "Code": 190,
            "Description": "Success"
        },
        "SubCode": {
            "Code": "S001",
            "Description": "Transaction successfully processed"
        },
        "DateTime": "2017-03-28T11:48:10"
    },
    "RequiredAction": null,
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "testinvoice 123",
    "ServiceCode": "mastercard",
    "IsTest": true,
    "Currency": "EUR",
    "AmountCredit": 1,
    "TransactionType": "V197",
    "MutationType": 2,
    "RelatedTransactions": [
        {
            "RelationType": "refund",
            "RelatedTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX"
        }
    ],
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": null,
    "PaymentKey": "A9025EE92CBC4CDD94F9C83F0FXXXXXX"
}

Refund Push

Parameters

Example Push

{
  "Transaction": {
    "Key": "7E1AD3268A4C49D496BEEFC300XXXXXX",
    "Invoice": "testinvoice 123",
    "ServiceCode": "mastercard",
    "Status": {
      "Code": {
        "Code": 190,
        "Description": "Success"
      },
      "SubCode": {
        "Code": "S001",
        "Description": "Transaction successfully processed"
      },
      "DateTime": "2017-03-28T11:48:10"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountCredit": 1,
    "TransactionType": "V197",
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 2,
    "RelatedTransactions": [
      {
        "RelationType": "refund",
        "RelatedTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX"
      }
    ],
    "IsCancelable": false,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": null,
    "PaymentKey": "A9025EE92CBC4CDD94F9C83F0FXXXXXX"
  }
}


Authorize

The Authorize action allows a merchant to make a reservation for a specific amount on a customer’s credit card. Referring to this authorization, it is then possible at a later time to perform one or more charges on the customer's credit card for a total of up to the requested amount. Since an authorize makes a reservation on a credit card, it lowers the available spending limit on the card. A recurrent payment is also possible on an authorisation. In that case, add the basic parameter StartRecurrent with the value "true" in your request.

Parameters

Service-Specific Parameters

ParameterTypeRequiredRecommendedDescription
ClientIPStringNoYesThe IP address of the client. It's recommended to send this in the request so it is possible to block a user based on their IP.

Example Request

{
  "Currency": "EUR",
  "AmountDebit": 10.00,
  "Invoice": "testinvoice 123",
  "ClientIP": {
    "Type": 0,
    "Address": "0.0.0.0"
  },
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "Authorize"
      }
    ]
  }
}

Authorize Response

If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned RedirectURL.

Parameters

Example Response

{
  "Key": "571457E371FB494FB0E67C99CFXXXXXX",
  "Status": {
    "Code": {
      "Code": 790,
      "Description": "Pending input"
    },
    "SubCode": null,
    "DateTime": "2017-03-28T11:50:19"
  },
  "RequiredAction": {
    "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=B3B96BC48B2C464D9027742FA0XXXXXX",
    "RequestedInformation": null,
    "PayRemainderDetails": null,
    "Name": "Redirect",
    "TypeDeprecated": 0
  },
  "Services": null,
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "testinvoice 123",
  "ServiceCode": null,
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 10,
  "TransactionType": null,
  "MutationType": 0,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": null,
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": null,
  "PayerHash": null,
  "PaymentKey": null
}

Authorize Push

If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned RedirectURL.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
CardNumberEndingStringN/AN/ALast 4 digits of the credit card number.
AuthenticationStringN/AN/AAuthentication status
EnrolledStringN/AN/AThe enrolled status.
CardExpirationDateStringN/AN/AExpiration date of the used credit card.
MaskedCreditcardNumberStringN/AN/AThe credit card number (partially masked).

Example Push

{
  "Transaction": {
    "Key": "571457E371FB494FB0E67C99CFXXXXXX",
    "Invoice": "testinvoice 123",
    "ServiceCode": "mastercard",
    "Status": {
      "Code": {
        "Code": 190,
        "Description": "Success"
      },
      "SubCode": null,
      "DateTime": "2017-03-28T11:51:15"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountDebit": 10,
    "TransactionType": "V088",
    "Services": [
      {
        "Name": "mastercard",
        "Action": null,
        "Parameters": [
          {
            "Name": "CardNumberEnding",
            "Value": "9097"
          },
          {
            "Name": "CardExpirationDate",
            "Value": "2017-03"
          },
          {
            "Name": "MaskedCreditcardNumber",
            "Value": "517043******9097"
          },
          {
            "Name": "Enrolled",
            "Value": "Y"
          },
          {
            "Name": "Authentication",
            "Value": "Y"
          }
        ],
        "VersionAsProperty": 1
      }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 3,
    "RelatedTransactions": null,
    "IsCancelable": true,
    "IssuingCountry": "DK",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": null,
    "PaymentKey": null
  }
}


AuthorizeEncrypted

For a regular Authorize action, the consumer has to be redirected to our checkout to fill in their card data. With this action and our Client Side Encryption SDK, we have introduced a way where this redirection is not necessary, and you can ask for the consumer's card data on your webshop. All you have to do is encrypt the card data with our Client Side Encryption SDK and call this action with the "EncryptedCardData" parameter. The value of this parameter is the result of the "encryptCardData" function in our CSE SDK.

Authorize Request

The request is much like the Authorize request, except for the EncryptedCardData parameter.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
EncryptedCardDataStringYesN/AThe value of this parameter is the result of the "encryptCardData" function of our CSE SDK

Example Request

{
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "Invoice": "AuthorizeEncryptedTest123",
  "Description": "Authorize Encrypted Test 123",
  "Services": {
    "ServiceList": [
      {
        "Name": "Mastercard",
        "Action": "AuthorizeEncrypted",
        "Version": 0,
        "Parameters": [
          {
            "Name": "EncryptedCardData",
            "GroupType": "",
            "GroupID": "",
            "Value": "001u8gJNwngKubFCO6FmJod6aESlIFATkKYaj47KlgBp7f3NeVxUzChg1Aug7WD2vc5wut2KU9NPLUaO0tFmzhVLZoDWn7dX4AzGxSjPrsPmDMWYcEkIwMZfcyJqoRfFkF3j15mil3muXxhR1a609NfkTo11J3ENVsvU3k60z+x0jCw6NjzbrweVQhBRkrbs7TBJkS4tR38JiDsXyH2E1JmRHE+o2P9qz4at6w3zggmwImvjt5IIjEr6g8KfsIDXfv7YjEzhJ3P+7uuGoyG2WYm/Pr0+iEmTj5Q/ijkxu1+cDqv5eiB+80KgffPItUZDrnv9sKlVBAr+f53nm1G+Sxp0Q=="
          }
        ]
      }
    ]
  }
}

Authorize Response

The response is the same as the Authorize response.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
EncryptedCardDataStringYesN/AThe value of this parameter is the result of the "encryptCardData" function of our CSE SDK

Example Response

{
  "Key": "18733464547E465EB78A1B896DXXXXXX",
  "Status": {
    "Code": {
      "Code": 791,
      "Description": "Pending processing"
    },
    "SubCode": null,
    "DateTime": "2018-10-19T10:54:47+02:00"
  },
  "RequiredAction": {
    "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=EB19D99034424813B2F5C10C92XXXXXX",
    "RequestedInformation": null,
    "PayRemainderDetails": null,
    "Name": "Redirect",
    "TypeDeprecated": 0
  },
  "Services": [
    {
      "Name": "Mastercard",
      "Action": null,
      "Parameters": [
        {
          "Name": "ClientSideEncryptionVersion",
          "Value": "1"
        }
      ]
    },
    {
      "Name": "mastercard",
      "Action": null,
      "Parameters": [
        {
          "Name": "CardNumberEnding",
          "Value": "0000"
        },
        {
          "Name": "CardExpirationDate",
          "Value": "2019-04"
        },
        {
          "Name": "MaskedCreditcardNumber",
          "Value": "538686******0000"
        },
        {
          "Name": "Enrolled",
          "Value": "Y"
        }
      ]
    }
  ],
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "AuthorizeEncryptedTest123",
  "ServiceCode": "mastercard",
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "TransactionType": "I088",
  "MutationType": 3,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": "FR",
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": "Automated Encryptietest",
  "PayerHash": null,
  "PaymentKey": null
}

Authorize Push

The push is almost the same as the Authorize push, except for the ClientSideEncryptionVersion parameter.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
ClientSideEncryptionVersionStringYesN/AThe Client Side Encryption version that is used to encrypt the card data.

Example Push

{
  "Transaction": {
    "Key": "18733464547E465EB78A1B896DXXXXXX",
    "Invoice": "AuthorizeEncryptedTest123",
    "ServiceCode": "mastercard",
    "Status": {
      "Code": {
        "Code": 791,
        "Description": "Pending processing"
      },
      "SubCode": null,
      "DateTime": "2018-10-19T10:54:47"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountDebit": 0.01,
    "TransactionType": "I088",
    "Services": [
      {
        "Name": "Mastercard",
        "Action": null,
        "Parameters": [
          {
            "Name": "ClientSideEncryptionVersion",
            "Value": "1"
          }
        ]
      },
      {
        "Name": "mastercard",
        "Action": null,
        "Parameters": [
          {
            "Name": "CardNumberEnding",
            "Value": "0000"
          },
          {
            "Name": "CardExpirationDate",
            "Value": "2019-04"
          },
          {
            "Name": "MaskedCreditcardNumber",
            "Value": "538686******0000"
          },
          {
            "Name": "Enrolled",
            "Value": "Y"
          }
        ],
        "VersionAsProperty": 1
      }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 3,
    "RelatedTransactions": null,
    "IsCancelable": false,
    "IssuingCountry": "FR",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "Automated Encryptietest",
    "PayerHash": null,
    "PaymentKey": null
  }
}


AuthorizeWithSecurityCode

When you want your returning customers not to have to fill in all their card data again but still want to perform 3DS authentication, you can use this action. With this action and our Client Side Encryption SDK, we have introduced a way where you only have to ask for the consumers' security code (CVC) on your webshop and send in the OriginalTransactionKey of the first transaction of this customer. All you have to do is encrypt the security code with our Client Side Encryption SDK and call this action with the "EncryptedSecurityCode" parameter. The value of this parameter is the result of the "encryptSecurityCode" function in our CSE SDK.

AuthorizeWithSecurityCode Request

The request is much like the Authorize request, except for the OriginalTransactionKey and EncryptedSecurityCode parameters.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
EncryptedSecurityCodeStringYesN/AThe value of this parameter is the result of the "encryptSecurityCode" function of our CSE SDK.
OriginalTransactionKeyStringYesN/ATransaction key of the initial transaction from where the card data should be copied.

Example Request

{
  "Invoice": "AuthorizeWithSecurityCodeTest",
  "Description": "AuthorizeWithSecurityCodeTest",
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "OriginalTransactionKey": "6C5DBB69E74644958F8C25199514DC6C",
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "AuthorizeWithSecurityCode",
        "Parameters": [
          {
            "Name": "EncryptedSecurityCode",
            "Value": "001F3AJT7wkJa04zE8c78P7spOAgHSKH1YKgPlOwXhW049VfIXMwZO32RYna9xZRyUCtfODIoCL8GRQoaZbStlBT4rbF5e4PPvWFSKdvua4rq+GQDNAghfa+ZQz0BzBPfjS0WBdFape9n3zH2vC/0m+wI3QZiDpYYgyWC1/Y3udJDU7JRTVMq/BDHGet+IZ2CDnkeGl813kkYymzYon/QeuQRQ0Wsec5bmVQNYGx62fz70/vLgs0ffff+6DtZtnZWfByRkTwMNebJotlOsSkbhVR5FrHpAbNPCJI+LvJcJL7Eoo+ZuX5/LWGmsT6qnR/uLiIw1DI7mTKGy6/P7IljAE+g=="
          }
        ]
      }
    ]
  }
}

AuthorizeWithSecurityCode Response

The response is almost the same as the Authorize response, except for the ClientSideEncryptionVersion parameter.

Parameters

Example Response

{
    "Key": "D7B87BBA4C044B2F9A74B5DEC0AAEF6B",
    "Status": {
        "Code": {
            "Code": 791,
            "Description": "Pending processing"
        },
        "SubCode": null,
        "DateTime": "2020-03-23T16:24:38+01:00"
    },
    "RequiredAction": {
        "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=11403BFFBEE648EBB37480F83683E9A5",
        "RequestedInformation": null,
        "PayRemainderDetails": null,
        "Name": "Redirect",
        "TypeDeprecated": 0
    },
    "Services": [
        {
            "Name": "Mastercard",
            "Action": null,
            "Parameters": [
                {
                    "Name": "ClientSideEncryptionVersion",
                    "Value": "1"
                }
            ]
        },
        {
            "Name": "mastercard",
            "Action": null,
            "Parameters": [
                {
                    "Name": "CardNumberEnding",
                    "Value": "0000"
                },
                {
                    "Name": "CardExpirationDate",
                    "Value": "2023-01"
                },
                {
                    "Name": "MaskedCreditcardNumber",
                    "Value": "538686******0000"
                },
                {
                    "Name": "ThreeDsVersion",
                    "Value": "1.0.2"
                },
                {
                    "Name": "Enrolled",
                    "Value": "N"
                }
            ]
        }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "AuthorizeWithSecurityCodeTest",
    "ServiceCode": "mastercard",
    "IsTest": true,
    "Currency": "EUR",
    "AmountDebit": 0.01,
    "TransactionType": "I876",
    "MutationType": 3,
    "RelatedTransactions": [
        {
            "RelationType": "copied_card_data",
            "RelatedTransactionKey": "6C5DBB69E74644958F8C25199514DC6C"
        }
    ],
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": "NL",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "tes test",
    "PayerHash": null,
    "PaymentKey": null
}

AuthorizeWithSecurityCode Push

The push is almost the same as the Authorize push, except for the ClientSideEncryptionVersion parameter.

Parameters

Service-Specific Parameters
ParameterTypeRequiredRecommendedDescription
ClientSideEncryptionVersionStringYesN/AThe Client Side Encryption version that is used to encrypt the security code.

Example Push

{
    "Transaction":{
        "Key":"D7B87BBA4C044B2F9A74B5DEC0AAEF6B",
        "Invoice":"AuthorizeWithSecurityCodeTest",
        "ServiceCode":"mastercard",
        "Status":{
            "Code":{
                "Code":190,
                "Description":"Success"
            },
            "SubCode":null,
            "DateTime":"2020-03-23T16:24:56"
        },
        "IsTest":true,
        "Order":null,
        "Currency":"EUR",
        "AmountDebit":0.01,
        "TransactionType":"I876",
        "Services":[
            {
                "Name":"Mastercard",
                "Action":null,
                "Parameters":[
                    {
                        "Name":"ClientSideEncryptionVersion",
                        "Value":"1"
                    }
                ]
            },
            {
                "Name":"mastercard",
                "Action":null,
                "Parameters":[
                    {
                        "Name":"CardNumberEnding",
                        "Value":"0000"
                    },
                    {
                        "Name":"CardExpirationDate",
                        "Value":"2023-01"
                    },
                    {
                        "Name":"MaskedCreditcardNumber",
                        "Value":"538686******0000"
                    },
                    {
                        "Name":"ThreeDsVersion",
                        "Value":"1.0.2"
                    },
                    {
                        "Name":"Enrolled",
                        "Value":"N"
                    },
                    {
                        "Name":"Authentication",
                        "Value":"Y"
                    }
                ],
                "VersionAsProperty":1
            }
        ],
        "CustomParameters":null,
        "AdditionalParameters":null,
        "MutationType":3,
        "RelatedTransactions":[
            {
                "RelationType":"copied_card_data",
                "RelatedTransactionKey":"6C5DBB69E74644958F8C25199514DC6C"
            }
        ],
        "IsCancelable":false,
        "IssuingCountry":"NL",
        "StartRecurrent":false,
        "Recurring":false,
        "CustomerName":"tes test",
        "PayerHash":null,
        "PaymentKey":null
    }
}


Capture

The Capture action allows the merchant to perform a charge on a previously created authorization. The customer does not need to perform this charge. The maximum capture amount is the amount of the previously requested Authorize.

Parameters

Service-Specific Parameters

ParameterTypeRequiredDescription
OriginalTransactionKeyStringYesTransaction key of the initial payment.

Example Request

{
  "Currency": "EUR",
  "AmountDebit": 1.00,
  "Invoice": "testinvoice 123",
  "OriginalTransactionKey": "571457E371FB494FB0E67C99CFXXXXXX",
  "Services": {
    "ServiceList": [
      {
        "Name": "mastercard",
        "Action": "Capture"
      }
    ]
  }
}

Capture Response

Example Response

{
  "Key": "EA244C42EC0846E8BF2CD406BCXXXXXX",
  "Status": {
    "Code": {
      "Code": 190,
      "Description": "Success"
    },
    "SubCode": {
      "Code": "S001",
      "Description": "Transaction successfully processed"
    },
    "DateTime": "2017-05-31T12:40:03"
  },
  "RequiredAction": null,
  "Services": null,
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "testinvoice 123",
  "ServiceCode": "mastercard",
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 1.0,
  "TransactionType": "V201",
  "MutationType": 2,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": "FR",
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": "T. Tester",
  "PayerHash": null,
  "PaymentKey": "FBCCF988EE3A455A9A07F1F5A1XXXXXX"
}

Capture Push

Parameters

Example Push

{
  "Transaction": {
    "Key": "EA244C42EC0846E8BF2CD406BCXXXXXX",
    "Invoice": "testinvoice 123",
    "ServiceCode": "mastercard",
    "Status": {
      "Code": {
        "Code": 190,
        "Description": "Success"
      },
      "SubCode": {
        "Code": "S001",
        "Description": "Transaction successfully processed"
      },
      "DateTime": "2017-05-31T12:40:03"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountDebit": 1,
    "TransactionType": "V201",
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 2,
    "RelatedTransactions": null,
    "IsCancelable": false,
    "IssuingCountry": "FR",
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": null,
    "PaymentKey": "FBCCF988EE3A455A9A07F1F5A1XXXXXX"
  }
}


PayRecurrent

The PayRecurrent action is used to perform a repeated payment by credit card on an initial payment. For a recurrent payment, the customer isn’t needed, since the credit card details do not have to be entered again. In case the payment is processed by Worldline, the recurrent payment is also possible on an authorize. A PayRecurrent payment can only be performed based on a transaction having the parameter StartRecurrent set to True.

PayRecurrent Request

Parameters

Service-Specific Parameters

ParameterTypeRequiredDescription
OriginalTransactionKeyStringYesTransaction key of the initial payment.

Example Request

{
   "Currency": "EUR",
   "AmountDebit": 10,
   "Invoice": "testinvoice 123",
   "OriginalTransactionKey": "80558FE1BE7F4B959E5C64907EXXXXXX",
   "Services": {
      "ServiceList": [
         {
            "Name": "mastercard",
            "Action": "PayRecurrent"
         }
      ]
   }
}

PayRecurrent Response

Parameters

Service-Specific Parameters

ParameterTypeRequiredDescription
CardNumberEndingStringYesThe last four digits of the used credit card.
CardExpirationDateStringNoThe expiration date of the used credit card.
MaskedCreditcardNumberStringNoThe credit card number (partially masked).

Example Response

{
   "Key": "5C7012EEF3E84CAEAA50DBBCEDXXXXXX",
   "Status": {
      "Code": {
         "Code": 190,
         "Description": "Success"
      },
      "SubCode": {
         "Code": "S001",
         "Description": "Transaction successfully processed"
      },
      "DateTime": "2017-06-01T08:26:40"
   },
   "RequiredAction": null,
   "Services": [
      {
         "Name": "mastercard",
         "Action": null,
         "Parameters": [
            {
               "Name": "CardNumberEnding",
               "Value": "9097"
            },
            {
               "Name": "CardExpirationDate",
               "Value": "2020-06"
            },
            {
               "Name": "MaskedCreditcardNumber",
               "Value": "517043******9097"
            }
         ]
      }
   ],
   "CustomParameters": null,
   "AdditionalParameters": null,
   "RequestErrors": null,
   "Invoice": "testinvoice 123",
   "ServiceCode": "mastercard",
   "IsTest": true,
   "Currency": "EUR",
   "AmountDebit": 10,
   "TransactionType": "V043",
   "MutationType": 2,
   "RelatedTransactions": null,
   "ConsumerMessage": null,
   "Order": null,
   "IssuingCountry": "DK",
   "StartRecurrent": false,
   "Recurring": true,
   "CustomerName": "T. Tester",
   "PayerHash": null,
   "PaymentKey": "625B93474A34478698DEE551DFXXXXXX"
}

PayRecurrent Push

Parameters

Service-Specific Parameters

ParameterTypeRequiredDescription
CardNumberEndingStringYesThe last four digits of the used credit card.
CardExpirationDateStringNoThe expiration date of the used credit card.
MaskedCreditcardNumberStringNoThe credit card number (partially masked).

Example Push

{
   "Transaction": {
      "Key": "5C7012EEF3E84CAEAA50DBBCEDXXXXXX",
      "Invoice": "testinvoice 123",
      "ServiceCode": "mastercard",
      "Status": {
         "Code": {
            "Code": 190,
            "Description": "Success"
         },
         "SubCode": {
            "Code": "S001",
            "Description": "Transaction successfully processed"
         },
         "DateTime": "2017-06-01T08:26:40"
      },
      "IsTest": true,
      "Order": null,
      "Currency": "EUR",
      "AmountDebit": 10,
      "TransactionType": "V043",
      "Services": [
         {
            "Name": "mastercard",
            "Action": null,
            "Parameters": [
               {
                  "Name": "CardNumberEnding",
                  "Value": "9097"
               },
               {
                  "Name": "CardExpirationDate",
                  "Value": "2020-06"
               },
               {
                  "Name": "MaskedCreditcardNumber",
                  "Value": "517043******9097"
               }
            ],
            "VersionAsProperty": 1
         }
      ],
      "CustomParameters": null,
      "AdditionalParameters": null,
      "MutationType": 2,
      "RelatedTransactions": null,
      "IsCancelable": false,
      "IssuingCountry": "DK",
      "StartRecurrent": false,
      "Recurring": true,
      "CustomerName": "T. Tester",
      "PayerHash": null,
      "PaymentKey": "625B93474A34478698DEE551DFXXXXXX"
   }
}