Requests

Requests


Pay

This action is used to perform a single payment with the Bancontact card.

Base JSON request

Use the base request as instructed on this page

Pay request

Parameters

Service specific parameters

Parameter Type Required Recommended Description
SaveToken String No N/A SaveToken is the parameter used to indicate if a token is to be created, that can be used for Wallet Initiated Payments in the future.
Basic parameters

Example request

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

Pay 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 redirect URL. The response does not contain service specific variables.

Parameters

Basic parameters

Example response:

{
    "Key": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
    "Status": {
        "Code": {
            "Code": 790,
            "Description": "Pending input"
        },
        "SubCode": null,
        "DateTime": "2017-03-30T12:50:36"
    },
    "RequiredAction": {
        "RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=77C66A69FF4240DBB497CA73E5XXXXXX",
        "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

Service specific parameters

Parameter type required description
CardNumberEnding String N/A Last 4 digits of the card number.
CardExpirationDate String N/A Card expiration date.
MaskedCardNumber String N/A Masked card number.
CustomerIBAN String N/A The customer's IBAN
CustomerBIC String N/A The BIC code belonging to the customer's IBAN.
InputType String N/A The way the transaction was paid. Possible values are: "Manual" for a regular payment; "QrCode" for a mobile payment paid by scanning the QR-code; "UrlIntent" for a mobile payment paid by clicking on the payment button on a mobile device.
Basic parameters

Example push

{
  "Transaction": {
    "Key": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
    "Invoice": "testinvoice 123",
    "ServiceCode": "bancontactmrcash",
    "Status": {
      "Code": {
        "Code": 190,
        "Description": "Success"
      },
      "SubCode": {
        "Code": "S990",
        "Description": "The request was successful."
      },
      "DateTime": "2017-03-30T12:51:10"
    },
    "IsTest": true,
    "Order": null,
    "Currency": "EUR",
    "AmountDebit": 10,
    "TransactionType": "C090",
    "Services": [
      {
        "Name": "bancontactmrcash",
        "Action": null,
        "Parameters": [
          {
            "Name": "CardNumberEnding",
            "Value": "5015"
          },
          {
            "Name": "CardExpirationDate",
            "Value": "2017-03"
          },
          {
            "Name": "MaskedCreditcardNumber",
            "Value": "670342*******5015"
          },
          {
            "Name": "CustomerIban",
            "Value": "BE68xxxxxxxxx034"
          },
          {
            "Name": "CustomerBic",
            "Value": "BANKBEBB"
          },
	  {
	    "Name": "InputType",
	    "Value": "Manual"
	  }
        ],
        "VersionAsProperty": 1
      }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "MutationType": 1,
    "RelatedTransactions": null,
    "IsCancelable": false,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": "T. Tester",
    "PayerHash": "null",
    "PaymentKey": "3055B6E1FA6C493881CDFCC05DXXXXXX"
  }
}

Refund

Parameters

Parameter type required description
OriginalTransactionKey String Yes Transaction key of the payment that needs to be refunded. Please note: This is a basic request variable, not a service specific variable.
Basic parameters

Refund request

{
  "Currency": "EUR",
  "AmountCredit": 1.00,
  "Invoice": "testinvoice 123",
  "OriginalTransactionKey": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
  "Services": {
    "ServiceList": [
      {
        "Name": "bancontactmrcash",
        "Action": "Refund"
      }
    ]
  }
}

Refund response

Basic parameters
{
    "Key": "6C1012FAF0444C1C8283404DA7XXXXXX",
    "Status": {
        "Code": {
            "Code": 190,
            "Description": "Success"
        },
        "SubCode": {
            "Code": "S990",
            "Description": "The request was successful."
        },
        "DateTime": "2017-03-30T12:54:58"
    },
    "RequiredAction": null,
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "testinvoice 123",
    "ServiceCode": "bancontactmrcash",
    "IsTest": true,
    "Currency": "EUR",
    "AmountCredit": 1,
    "TransactionType": "C092",
    "MutationType": 1,
    "RelatedTransactions": [
        {
            "RelationType": "refund",
            "RelatedTransactionKey": "0EF39AA94BD64FF38F1540DEB6XXXXXX"
        }
    ],
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": null,
    "PayerHash": null,
    "PaymentKey": "0650B22A3CC44E60AF1D67D9BEXXXXXX"
}

PayEncrypted

For a regular Pay action, the consumer has to be redirected to our checkout to fill in its 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 consumers' card data on your own webshop. All you have to do is encrypt the card data with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedCardData"-parameter. The value of this parameter is the result of the "encryptCardData"-function in our CSE SDK.

Base JSON request

Use the base request as instructed on this page

PayEncrypted request

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

Parameters

Service specific parameters

Parameter Type Required Recommended Description
EncryptedCardData String Yes The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK.
Basic parameters

Example request

{
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "Invoice": "BancontactPayEncryptedTest123",
  "Description": "Bancontact PayEncrypted Test 123",
    "Services": {
    "ServiceList": [
      {
        "Name": "bancontactmrcash",
        "Action": "PayEncrypted",
        "Version": 0,
        "Parameters": [
          {
            "Name": "EncryptedCardData",
            "GroupType": "",
            "GroupID": "",
            "Value": "001SlXfd8MbiTd/JFwCiGVs3f6o4x6xt0aN29NzOSNZHPKlVsz/EWeQmyhb1gGZ86VY88DP7gfDV+UyjcPfpVfHZd7u+WkO71hnV2QfYILCBNqE1aiPv2GQVGdaGbuoQloKu1o3o3I1UDmVxivXTMQX76ovot89geA6hqbtakmpmvxeiwwea3l4htNoX1IlD1hfYkDDl9rzSu5ypcjvVs6aRGXK5iMHnyrmEsEnfdj/Q5XWbsD5xAm4u3y6J8d4UP7LB31VLECzZUTiJOtKKcCQlT01YThIkQlj8PWBBMtt4H52VN3IH2+wPYtR8HiOZzcA2HA7UxozogIpS53tIURj/g=="
          }
        ]
      }
    ]
  }
}

PayEncrypted response

The response is the same as the Pay response.

Basic parameters

Example response:

{
  "Key": "AF4BB6D14C364404ADF925958FXXXXXX",
  "Status": {
    "Code": {
      "Code": 791,
      "Description": "Pending processing"
    },
    "SubCode": {
      "Code": "S002",
      "Description": "An additional action is required: 3-D Secure"
    },
    "DateTime": "2018-10-19T15:30:39"
  },
  "RequiredAction": {
    "RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=0D7D9B311EC3410CB20D7F89C0XXXXXX",
    "RequestedInformation": null,
    "PayRemainderDetails": null,
    "Name": "Redirect",
    "TypeDeprecated": 0
  },
  "Services": [
    {
      "Name": "bancontactmrcash",
      "Action": null,
      "Parameters": [
        {
          "Name": "CardNumberEnding",
          "Value": "5015"
        },
        {
          "Name": "CardExpirationDate",
          "Value": "2023-10"
        },
        {
          "Name": "MaskedCreditcardNumber",
          "Value": "670342*******5015"
        },
        {
          "Name": "Enrolled",
          "Value": "Y"
        }
      ]
    }
  ],
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "BancontactPayEncryptedTest123",
  "ServiceCode": "bancontactmrcash",
  "IsTest": false,
  "Currency": "EUR",
  "AmountDebit": 0.01,
  "TransactionType": "C090",
  "MutationType": 1,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": null,
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": "Automated Encryptietest",
  "PayerHash": null,
  "PaymentKey": "98944CC3B3FA4ACD9A837D3A22XXXXXX"
}

PayEncrypted push

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

Service specific parameters

Parameter type required description
ClientSideEncryptionVersion String N/A The Client Side Encryption version that is used to encrypt the card data.

Example push

{
   "Transaction":{
      "Key":"AF4BB6D14C364404ADF925958FXXXXXX",
      "Invoice":"BancontactPayEncryptedTest123",
      "ServiceCode":null,
      "Status":{
         "Code":{
            "Code":190,
            "Description":"Success"
         },
         "SubCode":{
            "Code":"S990",
            "Description":"The request was successful."
         },
         "DateTime":"2018-10-20T05:15:10"
      },
      "IsTest":false,
      "Order":null,
      "Currency":"EUR",
      "AmountDebit":0.01,
      "TransactionType":"C090",
      "Services":[
         {
            "Name":"BancontactMrCash",
            "Action":null,
            "Parameters":[
               {
                  "Name":"ClientSideEncryptionVersion",
                  "Value":"1"
               }
            ]
         },
         {
            "Name":"bancontactmrcash",
            "Action":null,
            "Parameters":[
               {
                  "Name":"CardNumberEnding",
                  "Value":"5015"
               },
               {
                  "Name":"CardExpirationDate",
                  "Value":"2023-10"
               },
               {
                  "Name":"MaskedCreditcardNumber",
                  "Value":"670342*******5015"
               },
               {
                  "Name":"Enrolled",
                  "Value":"Y"
               }
            ],
            "VersionAsProperty":1
         }
      ],
      "CustomParameters":null,
      "AdditionalParameters":null,
      "MutationType":1,
      "RelatedTransactions":null,
      "IsCancelable":false,
      "IssuingCountry":null,
      "StartRecurrent":false,
      "Recurring":false,
      "CustomerName":"Automated Encryptietest",
      "PayerHash":null,
      "PaymentKey":"98944CC3B3FA4ACD9A837D3A22XXXXXX"
   }
}

CompletePayment

When you want to use both the QR-Code as the Client Side Encryption on your own webshop checkout, you have to use the CompletePayment DataRequest to complete the already created payment.

Note that the ReturnUrl of the original transaction is used to redirect the consumer.

Base JSON request

Use the base request as instructed on this page

CompletePayment Request

Service specific parameters

Parameter Type Required Recommended Description
OriginalTransactionKey String Yes Transaction key of the payment that needs to be completed. Please note: This is a basic request variable, not a service specific variable.
EncryptedCardData String Yes The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK.
Basic parameters

Example request

{
  "OriginalTransactionKey": "AF4BB6D14C364404ADF925958FXXXXXX",
  "Services": {
    "ServiceList": [
      {
        "Name": "bancontactmrcash",
        "Action": "CompletePayment",
		"Parameters": [
          {
            "Name": "EncryptedCardData",
            "Value": "001SlXfd8MbiTd/JFwCiGVs3f6o4x6xt0aN29NzOSNZHPKlVsz/EWeQmyhb1gGZ86VY88DP7gfDV+UyjcPfpVfHZd7u+WkO71hnV2QfYILCBNqE1aiPv2GQVGdaGbuoQloKu1o3o3I1UDmVxivXTMQX76ovot89geA6hqbtakmpmvxeiwwea3l4htNoX1IlD1hfYkDDl9rzSu5ypcjvVs6aRGXK5iMHnyrmEsEnfdj/Q5XWbsD5xAm4u3y6J8d4UP7LB31VLECzZUTiJOtKKcCQlT01YThIkQlj8PWBBMtt4H52VN3IH2+wPYtR8HiOZzcA2HA7UxozogIpS53tIURj/g=="
          }
        ]
      }
    ]
  }
}

CompletePayment response

The respons is also much like the PayEncrypted response.

Parameters

Basic parameters

Example response:

{
  "Key": "0FDA1EC644FA4E948ADEF63694XXXXXX",
  "Status": {
    "Code": {
      "Code": 791,
      "Description": "Pending processing"
    },
    "SubCode": {
      "Code": "S002",
      "Description": "An additional action is required: 3-D Secure"
    },
    "DateTime": "2018-12-04T15:53:49"
  },
  "RequiredAction": {
    "RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=0D7D9B311EC3410CB20D7F89C0XXXXXX",
    "RequestedInformation": null,
    "Name": "Redirect",
    "TypeDeprecated": 0
  },
  "Services": null,
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "ServiceCode": "bancontactmrcash",
  "IsTest": false,
  "ConsumerMessage": null
}

PayRecurring

PayRecurring is a Wallet Initiated Payment. PayRecurring should only be used if the consumer is not present. If the consumer is present, the action PayOneClick should be used instead.

Parameters

Basic parameters

Example request

{
  "Currency": "EUR",
  "AmountDebit": 10.00,
  "Invoice": "testinvoice 123",
  "OriginalTransactionKey": "91D08EC01F414926A4CA29C059XXXXXX",
  "ClientIP": {
      "Type": 0,
      "Address": "0.0.0.0"
   },
  "Services": {
    "ServiceList": [
      {
        "Name": "bancontactmrcash",
        "Action": "PayRecurring"
      }
    ]
  }
}

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

Parameters

Basic parameters

Example response:

{
  "Key": "CA9A4CB1C1F1430AAC71D63562XXXXXX",
  "Status": {
    "Code": {
      "Code": 190,
      "Description": "Success"
    },
    "SubCode": {
      "Code": "S990",
      "Description": "The request was successful."
    },
    "DateTime": "2020-06-03T14:42:43"
  },
  "RequiredAction": null,
  "Services": null,
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "testinvoice 123",
  "ServiceCode": "bancontactmrcash",
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 10.0,
  "TransactionType": "C094",
  "MutationType": 1,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": null,
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": null,
  "PayerHash": null,
  "PaymentKey": "1E3F1CCEFE394410904AD41146XXXXXX"
}

PayRecurring push

Parameters

Basic parameters

Example push

{
   "Transaction":{
      "Key":"CA9A4CB1C1F1430AAC71D63562XXXXXX",
      "Invoice":"testinvoice 123",
      "ServiceCode":"bancontactmrcash",
      "Status":{
         "Code":{
            "Code":190,
            "Description":"Success"
         },
         "SubCode":{
            "Code":"S990",
            "Description":"The request was successful."
         },
         "DateTime":"2020-06-03T14:42:43"
      },
      "IsTest":true,
      "Order":null,
      "Currency":"EUR",
      "AmountDebit":10.0,
      "TransactionType":"C094",
      "Services":null,
      "CustomParameters":null,
      "AdditionalParameters":null,
      "MutationType":1,
      "RelatedTransactions":null,
      "IsCancelable":false,
      "IssuingCountry":null,
      "StartRecurrent":false,
      "Recurring":false,
      "CustomerName":null,
      "PayerHash":null,
      "PaymentKey":"1E3F1CCEFE394410904AD41146XXXXXX"
   }
}

PayOneClick

PayOneClick is a Wallet Initiated Payment. PayOneClick should only be used if the consumer is present. If the consumer is not present, the action PayRecurring should be used instead.

Parameters

Basic parameters

PayOneClick request

Example request

{
  "Currency": "EUR",
  "AmountDebit": 10.00,
  "Invoice": "testinvoice 123",
  "OriginalTransactionKey": "91D08EC01F414926A4CA29C059XXXXXX",
  "ClientIP": {
      "Type": 0,
      "Address": "0.0.0.0"
   },
  "Services": {
    "ServiceList": [
      {
        "Name": "bancontactmrcash",
        "Action": "PayOneClick"
      }
    ]
  }
}

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

Parameters

Basic parameters

Example response:

{
  "Key": "CA9A4CB1C1F1430AAC71D63562XXXXXX",
  "Status": {
    "Code": {
      "Code": 190,
      "Description": "Success"
    },
    "SubCode": {
      "Code": "S990",
      "Description": "The request was successful."
    },
    "DateTime": "2020-06-03T14:42:43"
  },
  "RequiredAction": null,
  "Services": null,
  "CustomParameters": null,
  "AdditionalParameters": null,
  "RequestErrors": null,
  "Invoice": "testinvoice 123",
  "ServiceCode": "bancontactmrcash",
  "IsTest": true,
  "Currency": "EUR",
  "AmountDebit": 10.0,
  "TransactionType": "C094",
  "MutationType": 1,
  "RelatedTransactions": null,
  "ConsumerMessage": null,
  "Order": null,
  "IssuingCountry": null,
  "StartRecurrent": false,
  "Recurring": false,
  "CustomerName": null,
  "PayerHash": null,
  "PaymentKey": "1E3F1CCEFE394410904AD41146XXXXXX"
}

PayOneClick push

Parameters

Basic parameters

Example push

{
   "Transaction":{
      "Key":"CA9A4CB1C1F1430AAC71D63562XXXXXX",
      "Invoice":"testinvoice 123",
      "ServiceCode":"bancontactmrcash",
      "Status":{
         "Code":{
            "Code":190,
            "Description":"Success"
         },
         "SubCode":{
            "Code":"S990",
            "Description":"The request was successful."
         },
         "DateTime":"2020-06-03T14:42:43"
      },
      "IsTest":true,
      "Order":null,
      "Currency":"EUR",
      "AmountDebit":10.0,
      "TransactionType":"C093",
      "Services":null,
      "CustomParameters":null,
      "AdditionalParameters":null,
      "MutationType":1,
      "RelatedTransactions":null,
      "IsCancelable":false,
      "IssuingCountry":null,
      "StartRecurrent":false,
      "Recurring":false,
      "CustomerName":null,
      "PayerHash":null,
      "PaymentKey":"1E3F1CCEFE394410904AD41146XXXXXX"
   }
}

Authenticate

The Authenticate action can be used to Authorize a Bancontact transaction, and immediately cancel the authorization. This can be used to create a Token that can be used for future WIP transactions, or recurring SDD's.

Parameters

Service specific parameters

Parameter type required description
SaveToken String N/A SaveToken is the parameter used to indicate if a token is to be created, that can be used for Wallet Initiated Payments in the future.
Basic parameters

Authenticate request

{
  "Currency": "EUR",
  "AmountDebit": 0.02,
  "Description": "Bancontact Authenticate SaveToken",
  "Invoice": "Bancontact Authenticate SaveToken",
  "Services": {
    "ServiceList": [
      {
        "Name": "BancontactMrcash",
        "Action": "Authenticate",
        "Parameters": [
          {
            "Name": "savetoken",
            "Value": "false"
          }
        ]
      }
    ]
  }
}

Authenticate response

Parameters

Basic parameters
{
    "Key": "FA398DEBE647465C858F153DXXXXXXXX",
    "Status": {
        "Code": {
            "Code": 790,
            "Description": "Pending input"
        },
        "SubCode": null,
        "DateTime": "2021-09-29T13:34:55"
    },
    "RequiredAction": {
        "RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=FDC95168D5914D94BD29D0E5XXXXXXXX",
        "RequestedInformation": null,
        "PayRemainderDetails": null,
        "Name": "Redirect",
        "TypeDeprecated": 0
    },
    "Services": null,
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "Invoice": "Bancontact Authenticate",
    "ServiceCode": null,
    "IsTest": false,
    "Currency": "EUR",
    "AmountDebit": 0.02,
    "TransactionType": null,
    "MutationType": 0,
    "RelatedTransactions": null,
    "ConsumerMessage": null,
    "Order": null,
    "IssuingCountry": null,
    "StartRecurrent": false,
    "Recurring": false,
    "CustomerName": null,
    "PayerHash": null,
    "PaymentKey": null
}

Authenticate push

Parameters

Basic parameters
{
   "Transaction":{
      "Key":"FA398DEBE647465C858F153DXXXXXXXX",
      "Invoice":"Bancontact Authenticate",
      "ServiceCode":"bancontactmrcash",
      "Status":{
         "Code":{
            "Code":190,
            "Description":"Success"
         },
         "SubCode":null,
         "DateTime":"2021-09-29T13:34:55"
      },
      "IsTest":false,
      "Order":null,
      "Currency":"EUR",
      "AmountDebit":0.02,
      "TransactionType":"I091",
      "Services":[
         {
            "Name":"bancontactmrcash",
            "Action":null,
            "Parameters":[
               {
                  "Name":"QrCodeData",
                  "Value":"BEP://1TMA.BUCKAROO.IO/V1/BEP$LYZ5MRI6RXF7XB7TXXXXXXXX"
               },
               {
                  "Name":"UrlIntentData",
                  "Value":"BEPGenApp://DoTx?TransId=1TMA.BUCKAROO.IO/V1/BEP$LYZ5MRI6RXF7XB7TXXXXXXXX"
               },
               {
                  "Name":"QrUrl",
                  "Value":"https://static.buckaroo.nl/qr/v1/QkVQOi8vMVRNQS5CVUNLQVJPTy5JTy9WMS9CRVAkTFlaNU1SSTZSWEY3WEI3VFZVXXXXXXXX"
               },
               {
                  "Name":"InputType",
                  "Value":"QrCode"
               },
               {
                  "Name":"CustomerIban",
                  "Value":"BE00000000000001"
               },
               {
                  "Name":"CustomerBic",
                  "Value":"KREDBEBB"
               }
            ],
            "VersionAsProperty":1
         }
      ],
      "CustomParameters":null,
      "AdditionalParameters":null,
      "MutationType":3,
      "RelatedTransactions":null,
      "IsCancelable":false,
      "IssuingCountry":null,
      "StartRecurrent":true,
      "Recurring":false,
      "CustomerName":"Customer Unknown",
      "PayerHash":null,
      "PaymentKey":null,
      "Description":"Bancontact Authenticate"
   }
}

Was this article helpful?

What's Next